/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */



var defaultLabelColor = "black";
var defaultLabelErrColor = "red";
var minPassLength = 6;
var maxPassLength = 15;

var emailRegex = new RegExp ("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");


$("#errorTextLabelReg").css ('color', defaultLabelErrColor);



$("#user_register_button").click(function () 
{
    var success = true;
    if ($('#first_name').val() == "") 
    {
	$('#first_name_label').css ('color', defaultLabelErrColor);
	success = false;
    }     
    else
    {	    
	$('#first_name_label').css ('color', defaultLabelColor);
    }
    
        
    if ($('#last_name').val() == "") 
    {
	$('#last_name_label').css ('color', defaultLabelErrColor);
	success = false;
    } 	     
    else
    {	    
	$('#last_name_label').css ('color', defaultLabelColor);
    }
    
    if ($('#password').val() == "") 
    {
	$('#password_label').css ('color', defaultLabelErrColor);
	success = false;
    } 	     
    else
    {	    
	$('#password_label').css ('color', defaultLabelColor);
    }
    
    if ($('#password2').val() == "") 
    {
	$('#password2_label').css ('color', defaultLabelErrColor);
	success = false;
    } 	     
    else
    {	    
	$('#password2_label').css ('color', defaultLabelColor);   
    }
    
    if ( $('#email').val() == "") 
    {
	$('#email_label').css ('color', defaultLabelErrColor);
	success = false;
    } 	     
    else
    {	    
	$('#email_label').css ('color', defaultLabelColor);    
    }

    if (!success)
    {
	$('#errorTextLabelReg').text("Please enter the highlighted values");
	return;	    
    }
    
    if ($('#password').val() != $('#password2').val())
    {
	$('#password_label').css ('color', defaultLabelErrColor);	
	$('#password2_label').css ('color', defaultLabelErrColor);
	
	$('#errorTextLabelReg').text("The passwords do not match");
	return;
    }
    
    if ($('#password').val().length < minPassLength || $('#password').val().length > maxPassLength)
    {
	$('#password_label').css ('color', defaultLabelErrColor);	
	$('#password2_label').css ('color', defaultLabelErrColor);
	
	$('#errorTextLabelReg').text("Passwords must be betweent " + minPassLength + " and " + maxPassLength + "characters long");
	return;
    }
    
    if (!emailRegex.test($('#email').val()))
    {
	$('#email_label').css ('color', defaultLabelErrColor);	
	
	$('#errorTextLabelReg').text("Invalid email address");
	return;
	    
    }
    
    $('#errorTextLabelReg').text("");
    
    $.post("DoRegister", {
	"email" : $('#email').val(), "firstName" : $('#first_name').val(), "lastName" : $('#last_name').val(), "password" : $('#password').val()
	}, function(data) 

	{
	var jsonObj = jQuery.parseJSON( data );
	
	if (jsonObj.success)
	{		
	    $('#errorTextLabelReg').text("User successfully registered");
	}
	else
	{
		    
	    $('#errorTextLabelReg').text(jsonObj.reason);
	}
    });
});